Tool For Design And Fabrication of Knitted Components

ABSTRACT

Computer based systems and methods for designing and manufacturing consumer products, including knit footwear uppers, and the like. The system provides digital controls for the customization of knitted components, including complex multi-structured knitted components. The system simulates deformations of knit structures and allows the user to control and visualize compensations in the structure(s) of the knitted component to better match between an intended knit design and the actual physical knitted component outcome. They system may manufacture/fabricate a knitted component based on the predicted/estimated deformation behavior of the knit.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.17/859,696 filed Jul. 7, 2022, which is a continuation of U.S. patentapplication Ser. No. 16/441,498 filed Jun. 14, 2019, now U.S. Pat. No.11,421,355 issued Aug. 23, 2022, which claims the benefit of priorityfrom U.S. Provisional Patent Application No. 62/685,701, entitled “Toolfor Design and Fabrication of Knitted Components” filed Jun. 15, 2018.The contents of the aforementioned applications are hereby incorporatedby reference in their entirety.

FIELD OF THE INVENTION

The technologies disclosed herein relate to systems and methods used todesign knitted components. More particularly, the technologies disclosedrelate to methods and systems for the customization and manufacturing ofknitted components and complex knitted structures.

BACKGROUND OF THE INVENTION

Conventional articles of athletic footwear include two primary elements,an upper and a sole structure. The upper provides a covering for thefoot that securely receives and positions the foot with respect to thesole structure. In addition, the upper may have a configuration thatprotects the foot and provides ventilation, thereby cooling the foot andremoving perspiration. The sole structure is secured to a lower surfaceof the upper and is generally positioned between the foot and theground. In addition to attenuating ground reaction forces and absorbingenergy (i.e., imparting cushioning), the sole structure may providetraction and control potentially harmful foot motion, such as overpronation. Accordingly, the upper and the sole structure operatecooperatively to provide a comfortable structure that is suited for awide variety of ambulatory activities, such as walking and running.

Various materials may be utilized in manufacturing the upper, as well asother knitted or woven products, such as articles of apparel and otherwearable or non-wearable products. Some uppers are formed of knitmaterial, such as thread and/or yarn. Knit uppers have appearances thatdiffer from the appearances of uppers formed of other materials likeleather, synthetic leather, and rubber. During the design andmanufacturing of a knit upper it is common for a designer to create adesign and then for one or more other people to program a knittingmachine to manufacture the upper. The separation of parts of the designand manufacturing process can result in the development andmanufacturing of several uppers before the designer approves a designthat can be manufactured by a knitting machine. Multiple rounds orcycles of creating many knit uppers that don't meet a designer's view ofthe design imagined can be costly in time and resources.

Additionally, utilizing digital control tools for the customization ofknitted fabrics may lead to fabrication challenges that inhibit theextent of use of digital customization for knitted products on a massscale. Importantly, this issue is heightened when complex multiplestructured knits are involved. Such issues may arise due, in part, tophysical changes that occur in the overall dimensions of theknit/fabric, when stitch structures with different physical attributesare combined within the same fabric or knitted component. For example,the outline of the fabric is of specific importance as it is commonlypreconfigured to a specific shape and dimension that must bereproducible, for example, a knitted footwear upper. Conventional knitdesign processes and computational tools fail to assist in thesimulation and prediction of these knit/fabric deformations. As aresult, conventional processes of manufacturing/fabricating knittedcomponents/products typically rely on the manual efforts and knittingexpertise of highly trained individuals who manually perform iterativetesting to accurately fabricate knitted components devoid ofdeformations and other production issues.

Thus there is a need for a knitting system and computational parametrictool that may be used for digitally designing and industriallyproducing/manufacturing knitted components/products, thus creating adirect link between design and manufacturability. This link betweendesign and manufacturability allows the designer/user to accuratelyestimate fabric deformation, and to control and visualize compensationsin the fabric structure, thereby assisting the designer/user in thetechnical task of allocating knit structures to achieve a bettermatching between the initial graphic intent of the knit design and theactual physical knitted fabric outcome produced by knitting machines.Such an approach can drastically improve the design to manufacturingprocess in knit engineering, and reduce the number of iteration cyclesfor knitting material samples, especially when knitting highly varieddesigns, thereby improving the efficiency of the knitting machine andknit production, as well as reducing waste during the fabricationprocess.

SUMMARY OF THE INVENTION

One or more of the above-mentioned needs in the art are satisfied by thedisclosed systems and methods for designing wearable and non-wearableproducts, including footwear uppers.

One or more aspects of the present disclosure focuses on theimplementation of a digital customization system for knitted products.From a manufacturing point of view, the physical behavior of complexmultiple structured knitted components/fabrics is a real challenge forrealizing product individualization and customization on a mass scale.When making changes to the design of a knitted component, conventionalknitting systems require a time-consuming and iterative approach tomanufacturing knitted components and/or fabric samples, and thenmanually testing those samples to determine/identify potentialdeformations in the samples. Deformations maybe represented bygeometrical changes in a sample. For example, a sample may experience anincrease or decrease in the length (in any direction) of a knittedsection. Further, spatial deformations may represent a change in the 3Dform of the structure, for example, an increase or decrease of thecurvature of the knitted structure. Such deformations may occur due to avariety of factors including, among others, stitch structure, yarncharacteristics, knitting density, and the like. This iterative processis typically required for each change made to the knit design pattern.This inefficient process is time-consuming, wasteful, costly, andlaborious in that it requires the manual efforts of trained knittingexperts to suitably re-program the knitting machine to perform eachfabrication task. This conventional process also prevents the adoptionof a more variegated manufacturing approach, which would providedesigners or end users with enhanced flexibility in customizing theirown knit designs. Furthermore, because of a coupling between the visualattributes of personalized knitted fabrics (e.g., color, shade, density,etc.) and their structural dynamics, as well as the way they interactwith the human body, there is a heightened interest to enhance theirfitting, thereby providing the end user with a more customized andtailored product. Accordingly, as explained further below, the betterand more accurate a knitting system's ability to predict knitted fabricbehavior, the more personalized the resulting knitted product can bemade.

The global industry of textiles and knitted products could greatlybenefit from improvement in flexibility of manufacturing, accuracy andspeed. As noted above, from a product point of view, the manual datarestructuring of files by knitting experts may result in loss ofinformation and alteration of nuances in the knitted component. Withthis in mind, the system for digitally designing and producing knittedfabrics, as described herein, would increase efficiency within, and thusfurther improve, the fabrication/manufacturing processes of knittedproducts. As described in more detail below, the present knitting systemimplements a physical simulation to estimate deformation of a knittedcomponent, thus allowing the designer (or end user) to dynamically addcompensations and achieve a better prediction for the final knittedoutcome and physical output of the knitting machine.

The knitting system described herein entails creating a library ofknitted structures, as well as creating a comprehensive computationalpredictive model to compensate for deformations caused by differentaspect ratio structure combinations within the knitted component/fabric.Data relating to the library of knitted structures may be obtained froma separate source and/or may be generated by the knitting system usingan extensive testing process of numerous knitted samples andmaintaining/storing the testing results in the library (or othersuitable data storage) for future use. For example, each new knittedsample or knit design that is tested by the knitting system may furtherinclude an analysis of stitch combination and measurements of thephysical knit behavior, and this information may be stored in thelibrary of knitted structures for comparison to future knitted samplesand the fabrication of different knit designs. Thus, once the systemobtains data and parameters relating to a new knit structure and itsdeformation behavior, this information can be incorporated, by theknitting system, in future tests and knit manufacturing, therebyimproving the automation and reliability of the computational too andknitting machine when fabricating any knit design.

In some aspects of this disclosure, the present technologies disclosedmay be partially or wholly implemented with a computer-readable medium,for example, by storing computer-executable instructions or modules, orby utilizing computer-readable data structures. Of course, the methodsand systems of the above-referenced embodiments may also include otheradditional elements, steps, computer-executable instructions, orcomputer-readable data structures.

The details of these and other embodiments of the present technologiesdisclosed are set forth in the accompanying drawings and the descriptionbelow. Other features and advantages of the technologies disclosed willbe apparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present technologies disclosed are illustrated by way of example andnot limited in the accompanying figures in which like reference numeralsindicate similar elements and in which:

FIG. 1 illustrates a system for designing knitted components, inaccordance with one or more aspects of the present disclosure.

FIG. 2A illustrates example face notations for various knitconstructions, in accordance with one or more aspects of the presentdisclosure.

FIG. 2B illustrates examples of manufactured knitted components, inaccordance with one or more aspects of the present disclosure.

FIG. 3A illustrates an example workflow for designing and manufacturingknitted components, in accordance with one or more aspects of thepresent disclosure

FIG. 3B illustrates an example workflow for designing and manufacturingknitted components, in accordance with one or more aspects of thepresent disclosure.

FIG. 3C illustrates additional components of a system for designingknitted components, in accordance with one or more aspects of thepresent disclosure.

FIG. 4A illustrates example knit design for manufacturing a knittedcomponent, in accordance with one or more aspects of the presentdisclosure.

FIG. 4B illustrates knitted component examples fabricated usingdifferently-colored materials, in accordance with one or more aspects ofthe present disclosure.

FIGS. 5A and 5B illustrate example matrix data structures andcorresponding technical annotations and machine operations for the datastructures, in accordance with one or more aspects of the presentdisclosure.

FIG. 5C illustrates examples of modified knit structures for improving aknit design example, in accordance with one or more aspects of thepresent disclosure.

FIG. 5D illustrates an example spring-based simulation image, inaccordance with one or more aspects of the present disclosure.

FIG. 5E illustrates example knitted structures of various knittedcomponents, in accordance with one or more aspects of the presentdisclosure.

FIGS. 6A-F illustrate examples of different compensation methods forpredicting deformation behavior in knitted components, in accordancewith one or more aspects of the present disclosure.

FIG. 7 illustrates an example interface for designing knittedcomponents, in accordance with one or more aspects of the presentdisclosure.

FIG. 8 illustrates a method for designing knitted components, inaccordance with one or more aspects of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

In general, as described above, some aspects of the present disclosurerelate to systems and methods for designing consumer products, includingproducts comprising a knitted component and/or fabric, as well as thesimulation and evaluation of knitted designs and correspondingmanufactured knitted component.

In recent years there has been an increased and heightened interest inknitting, a textile technology that has become extremely prolific acrossscales, materials, production processes and applications. Textileinnovation, including knitting technology, has been associated withcreating material assemblies, capable of responding to substantialchanging conditions through their material and structural composition.Textile is used as a flexible, strong and lightweight medium forcomposite materials and therefore its computation and behaviorprediction become of interest to manufacturers. As a highly engineeredmaterial, textiles and knitting in particular, can be customized inresponse to changing requirements and application, and achieve variousperformative characteristics that are beneficial to manufacturers inreducing the number of iterative (and costly) attempts that may berequired to properly manufacture, based on the underlying productdesign, the intended knitted component having minimal fabricdeformations.

Any desired type of design data may be controlled, altered, orcustomized by a user of systems and methods according to aspects of thepresent disclosure, such as: a color of a portion of a product, such asan article of footwear (e.g., the various upper portions or elements) oran article of apparel. If desired, systems and methods according to atleast some examples of the present disclosure further may allow a userto select from a variety of materials or other characteristics forvarious portions of the article of footwear, such as different uppermaterial(s); upper thickness(es); upper stiffness characteristics; archsupport characteristics; impact-attenuation characteristics; size,orientation, and/or location of openings or windows in the upper;patterns of openings provided in the uppers; laser cutting designsand/or characteristics; laser etching designs and/or characteristics;etc.

While described above in conjunction with design of articles offootwear, aspects of the present disclosure also may be used for designof other consumer products, such as articles of apparel, etc. In thefootwear example, a user may be permitted to select various features ofthe footwear and manipulate the visual image of the footwear from asoftware application that is displayed on the user interface or displayscreen. The user interface may display one or more tools for changingaspects of or otherwise manipulating various design data of thefootwear, as described herein.

Users may use computing devices to access the design application and/orwebsite. The computing devices establish a communication channel withina network and communicate with a messaging server system (comprising oneor more server computers) that provide interactive design features usedto change the design of a product. As will be disclosed in more detailbelow, any desired communication link and communication protocol may beused to provide and control the data exchange between computing devicesand the system. Users may use a computing device to connect to theonline design system via a network, such as the Internet, a local areanetwork (LAN), a wide area network (WAN), or the like. Users may connecttheir computing devices to the system via any communication channel,such as web site portals and applications from various internal and/orexternal sites that link to the portal of the manufacturer.

Various types of computing devices may be used without departing fromthe present disclosure, such as any computing device capable ofestablishing a networked connection and/or a peer-to-peer connection andcapable of providing the necessary display, user interface, and inputcapabilities, as will be described in more detail below. Some morespecific examples of computing devices that may be used in systems andmethods in accordance with at least some examples of the presentdisclosure include, but are not limited to: desktop computers, personalcomputers, laptop computers, palmtop computers, handheld computers,cellular telephones, any other mobile devices or smartphones, personaldigital assistants, computer workstations, televisions, and the like.

Computing devices that may be used in systems and methods in accordancewith examples of the present disclosure may include one or more inputdevices and a data processing system (e.g., including one or moremicroprocessors). Examples of input devices that may be included withthe computing devices include, but are not limited to conventional inputdevices, such as: a keyboard (hard keyboard or soft keyboard); a mouse,trackball, rollerball, touchpad, or other pointing device; a stylus orother pen-type input device (e.g., for a tablet PC type computingdevice); a disk drive; a USB port; a network connection; a joystick typecontroller; a telephone connection; an Ethernet connection; voicerecognition capabilities; etc. Also, the computing devices may have“touch screen” capabilities, such that a user input data into thecomputing device by physically touching the screen of the display withthe user's fingers or a selection device, such as a stylus.Additionally, any desired type of display device may be provided for usein conjunction with the computing devices of systems and methodsaccording to aspects of the present disclosure, including displaydevices integrated with the computing device itself or display devicesseparate from the computing devices but in communication therewith, suchas projector displays, separate monitor displays.

Example Design & Manufacturing System

FIG. 1 illustrates a system (e.g., system 100) for designing andmanufacturing consumer products, including, but not limited to, knitfootwear uppers. The system 100 may comprise a computing device, such asdesign computer 102 may be programmed with software modules that performvarious functions when executed by at least one processor. Softwareincludes computer-executable instructions that may be stored on at leastone tangible non-transitory computer-readable medium, such as a solidstate or magnetic memory.

The design computer 102 may be connected to a network (not shown) in anydesired manner without departing from aspects of the present disclosure,including in conventional manners that are known and used in the art,such as any conventional wired or wireless connection and using anynetwork connection protocol. Additionally or alternatively, the designcomputer 102 may be operatively in communication with one or morecomputing devices in a separate network, such as a network associatedwith a manufacturer or a network dedicated to one or more knittingmachines for fabricating the knitted component.

Systems and methods in accordance with examples of the presentdisclosure also will provide a user interface display on the user'scomputing device. This interface will allow the user to see the subjectmatter of the design effort and will allow the user to introduce his/herinput to the design effort. The user interfaces on various devices willbe provided and controlled by the user's computing device and/or by theserver system, and data for generating, maintaining, and receiving inputthrough the user interfaces will be generated and provided via computerreadable media included as part of or associated with the computingdevice and/or the server system. Examples of such computer readablemedia include, but are not limited to: computer-readable memories, bothinternal to a computer (e.g., hard drives) or separable from thecomputer (such as disks, solid state or flash memory devices, dataavailable over a networked connection, etc.), including any type ofcomputer readable media that is conventionally known and used in thecomputer arts.

The system 100 may comprise a variety of data structures, such aslibraries for storing information for designing and manufacturing theknitted component. For example, a color library 111 may contain variouscolor values. Individual color values may be arranged in a database,such as a FileMaker Pro database. In one embodiment, the color valueshave four channels such as CMYK color values. In another embodiment, thecolor values have three channels such as RGB color values. Theindividual color values may correspond to the colors of variousmaterials (e.g., yarn) that are in supply or available to themanufacturer of the knit product. A heather library 118 may be connectedto design computer 102 via the Internet. The heather library may containinformation regarding various heather patterns that may be created byone or more knitting machines available to the manufacturer of the knitproduct. A lasts library 112 may store information regarding lasts ofvarious shapes and forms. The lasts library may also store data filescorresponding to footwear designs. A grading library 113 may storeinformation regarding a collection of previously graded uppers. Thecollection may identify features of the product, e.g., footwear, such aslocations of structures and other attributes along with modificationsthat were made to grade a base design for use with a range of shoessizes.

A knit structure library 117 may store information regarding variousknitted structures that may be used to design and manufacture knitproducts. The different knitted structures that are assembled in thedesign tool may be used to form the library 117. In some instances,knitted structure information may be obtained from one or more othercomputing devices or suitable storage locations, for example, a remoteserver of a product manufacturer. Additionally or alternatively, a usermay access and store knitting information at the knit structure library.Thus the library 117 may, over time, accumulate and store knit structureinformation and other data for each knit structure stored therein. Aswill be described in more detail below, the present knitting system maybe configured to create a library of knitted structures that may be usedto improve the knitting process, as well as the reliability and accuracyof fabricating/manufacturing complex knitted components/products,thereby reducing manufacturing issues, improving the knitting machinesefficiency of material use, which would result in less material wastedue to better fit and performance of the knitted outcome.

As explained above, in some instances, an initial data set of knittedstructure information may be used to calibrate the knitting system(and/or knitting machines therein) to identify and distinguish fabricdeformations in knitted components. Given that each knitted structurehas different structural and visual characteristics, when differentstructures are combined, linear and spatial deformations occur wherelinear deformations may change the length of a knitted segment andspatial deformations may change the way a knitted segment is naturallycurved thus becoming not planar. Complex distributions of the knittedstructures in a knitted component cause more extensive deformation fromthe overall intended shape/frame of the knitted component. Thus, tocalibrate the knitting system, different aspect ratios of knittedcomponents may be measured and incorporated into the knitting system(and/or a computation tool therein).

In some instances, this initial data set may be further calibrated bytesting different variations of knit designs/patterns. For example, knitdesigns/patterns (or other image data) may be incorporated into theknitting system. There are a variety of ways in which the knitdesigns/patterns may be incorporated into knitting system including,among others, by scanning or importing an image, via a computing device,which is then sent/transmitted to the knitting system. Additionally oralternatively, the knit designs/patterns may be incorporated intoknitting system by generating a parametric design internally, bydesigning stitches comprising different stretch and visualcharacteristics via the knitting system, and/or by allocating a stitchpattern to a specific area or color within the design, so that differentareas have different linear and spatial deformations. One or more ofthese knit designs may be based on variations of a 3-color knittingtechnique. One such technique, the “Bird's eye” stitch simultaneouslyknits with three different yarns of different colors, wherein each areaof the pattern can differ in both structure and yarn, and as such,multiplying the possibilities for creating knit combinations. Withrespect to the example above, such knit design/patterns may bepositive/negative by nature, any one of the three different yarns can beadvanced by the knitting machine to the positive side of the fabricforming a solid or mixed combination with either of the other two yarns.For example, FIG. 2B illustrates two knitted components, produced by aknitting machine, having identical knitting designs and knittedstructure, but knitted using alternating (yarn) colors. Accordingly, theimproved knitting system may utilize information obtained from theinitial data set and/or calibration testing to generate knittedstructures, thereby increasing the number of knitted structuresavailable for the knitting system to analyze when predicting fabricdeformation. The knitting system allows for an allocation of yarn colorto design color and for an allocation of stitch type, thereby increasingthe number of available combinations that may be used to create/generateknitted structures via the knitting system. Furthermore, the knittingsystem takes into consideration the deformation and other geometricinformation of the knit design and knit structures, such as stitchaspect ratio, when generating knitted structures. Likewise, theseimprovements also allow the knitting system to introduce material/yarncolor as another layer of information that may be used to improve theprediction of knit deformations and other outcomes.

As will be described in more detail with respect to FIGS. 3A and 4A,design websites, interfaces, and/or applications as described herein maydisplay various patterns or models available for custom design, e.g., inone portion of an interface display. These various different models ofthe product (e.g., footwear, apparel, rugs, artwork, etc.) may includetemplate or “base” models that are available for a user to select aspart of the design process. Such “base” models or templates may be addedto or changed based on the user's selections during the design process.

Some of the components shown in FIG. 1 may communicate data to and fromdesign computer 102 during a design session. For example, UI 115 mayestablish a communication channel with design computer 102 to provide auser interface for customizing or modifying a footwear design. The userinterface may also be used for sampling input data received from thedesign computer. The user interface may also be used to allocate knittedstructures for a design. The user interface may receive informationrelating to the knit structures from a library, such as library 117.Allocation logic (of the user interface 115) for allocating knitstructures to various designs may be controlled by the user and allowsflexibility in the design process. In some embodiments, the userinterface 115 may be executed and/or incorporated within design computer102. Various types of software applications may be executed inconjunction with or incorporated into the user interface 115, including,but not limited to, Rhinoceros 3D CAD software application (“Rhino”),with Grasshopper visual programming language and environment forparametric design. The software for generating the user interface 115may reside on computer readable media present on or available to thedesign computer 102 or knitting system 100. Alternatively, if desired,the software, or at least some portion(s) thereof, may reside on morethan one computing device of knitting system 100. The knitting systemmay be operated and maintained by the same organization(s) orindividual(s) that operate and maintain the design computer 102, or theknitting system may be operated, controlled, and maintained, in whole orin part, by a party separate from any or all of these entities. As somemore specific examples, the knitting system may be operated andmaintained (and the user interface 115 also may be operated and/ormaintained) by one or more entities whose products are beingmanufactured through the knitting systems and methods described below(e.g., a manufacturer, a vendor selected by a manufacturer or retailer,etc.).

A structural rules component 120 may provide design computer 102 withdata relating to one or more structural rules associated with thephysical and/or structural integrity required for a footwear upper(and/or other article of apparel) to be manufactured and thecorresponding base design. Various types of product-specific structuralrules may be stored the rules component 120, such as running footwearrules providing structural integrity requirements and characteristicsinherent for running footwear. As will be discussed in more detail,these structural rules may place certain limitations on a user's abilityto modify certain aspects of the footwear design during a design sessionin order to maintain the structural integrity of the footwear upper whenmanufactured and for use by a wearer. In some aspects of the presentdisclosure, the structural rules associated with the physical and/orstructural integrity required for a footwear upper may vary based on thetype of footwear (e.g., running footwear, basketball footwear, footballfootwear, etc.), or type of apparel or product.

Design computer 102 may contain various modules for executing variousoperational functionality of the design computer. For example, designcomputer 102 may include a design module 103 that processes variousdesign changes made to a footwear design via user interface 115. Designmodule 103 may also render images of the footwear design in accordancewith the processed design changes. Design computer 102 may include agrading module 104 for processing and determining changes that may beapplied to a footwear design based on a grading change (e.g., increaseor decrease in footwear size). For example, grading module 104 mayextract information associated with a base footwear design and comparethat information to data stored in grading library 113 to render a newbase design for a different footwear grading. In some embodiments,grading module 104 may recommend one or more design changes to a basefootwear design in view of processed grading information. By calculatinga difference between the desired 2D/3D shape and the predicted oneaccording to changes in the size (grading), the knitting system may usedata indicating these differences (e.g. comparison data) to suggestgeometric design changes to compensate for the calculated differences.The knitting system may suggest such design changes based on andaccording to the known linear and spatial deformations of the particularstitches being used, for example, one or more of the stitches describedwith respect to FIG. 2A.

Design computer 102 may include a structural evaluation module 105 forprocessing data to determine whether design changes made to a footweardesign via user interface 115 are acceptable. For example, structuralevaluation module 105 may extract information associated with a basefootwear design that has been modified to include one or more designchanges, and compare that information with data from structural rulescomponent 120 to determine whether an intended design change conforms tothe predetermined structural rules and/or physical limitationsassociated with the base footwear design and/or knitting machine used tomanufacture the footwear upper. This extracted information includes, forexample, the stitch elasticity and aspect ratio associated with thedesign, which may impact the final shape and performance of theresulting footwear. Additionally or alternatively, the extractedinformation may include knitting machine limitation, which indicates athreshold number of different colors or stitches that may be applied toparticular areas of the design. In some aspects of the presentdisclosure, the evaluation module 105 may operatively communicate with adatabase (or other suitable form of storage) storing a plurality ofpredetermined structural integrity characteristics associated with eachof base footwear designs available for selection by the user.

Design computer 102 may include a bill of materials module 106 forprocessing data relating to the availability of the various materialsthat may be utilized for manufacturing knitted component 140 inaccordance with a product design, such as a footwear or apparel design.Design computer 102 may extract information associated with a basedesign and compare that information with data relating to a currentsupply or availability of material 130 to determine whether a requesteddesign change is acceptable.

Design computer 102 may also include a time/cost estimation module 107for processing data relating to the cost of manufacturing knittedcomponent 140 based on the footwear design. Design computer 102 mayextract information associated with a footwear design and compare thatinformation to data collected by and/or stored in time/cost estimationmodule 107 to calculate a cost to manufacture knitted component 140(e.g., a footwear upper) based on said product design, and to determinewhether the cost exceeds any predefined cost thresholds. The time/costestimation module 107 may recommend one or more design changes to thefootwear design to reduce the estimated cost below the predefined costthreshold.

Design computer 102 may also use the time/cost estimation module 107 toprocess data relating to the amount of time needed to manufactureknitted components 140 based on the product design. Design computer 102may extract information associated with a product design and comparethat information to data collected by and/or stored in time/costestimation module 107 to calculate an amount of time required tomanufacture knitted component 140 based on the product design, and todetermine whether the time exceeds any predefined time thresholds. Thetime/cost estimation module 107 may recommend one or more design changesto the product design to reduce the estimated manufacturing time belowthe predefined time threshold. In some aspects of the presentdisclosure, an interface or sub-interface may be displayed to a userduring a design session depicting the amount of time required tomanufacture the knitted component in view of the current product design.As the user modifies the product design, the interface (orsub-interface) may be updated to reflect an updated amount of timerequired to manufacture the knitted component, such as a knittedfootwear upper.

Design computer 102 may also use the compiling module 108 to generateand/or output machine code and/or data files to a knitting machine, suchas the knitting machine 135. The design computer 102 (or other computingdevice in the knitting system 100) may utilize the compiling module totranslate source code directly. For example, the compiling module 108may be configured to translate the source code from a high-levelprogramming language to a lower level language, such as machine code.This process thus may enable the knitting system, including userinterface 115, to bypass the standard interface of the knitting machine.Design computer 102 may also use the visualization/compensation module110 to obtain and analyze information obtained from (i) the knitstructure library 117 and previous/historical analysis of knitstructures and/or (ii) output from a spring-based physical engine, suchas engine 116, to evaluate differences between the knit design andpredicted fabrication outcome of a knitted component. Design computer102 may also use the input device 109 to process input data and otherinformation, such as data supplied by an end user or designer. Forexample, via the input device 109, users/designers may control thedistribution of different stitch combinations within a design of aknitted component, and to visualize selected/available knittedstructures/designs via a user interface, such as UI 115. Design computer102 may also include a variety of devices, interface units and drivesfor reading and writing data or files. Exemplary interface units anddrives include a keyboard, pointing device, microphone, pen device,touchscreen or other input devices.

As discussed above, some of the components shown in FIG. 1 may beconnected to each other via a network, such as a local area network(LAN) or a wide area network (WAN). For example, color library 111 maybe connected to design computer 102 via the Internet. In anotherexample, design computer 102 may transmit knitting instructions to theknitting machine 135 in the form of one or more encrypted files via acommunication network, such as the Internet. The system shown in FIG. 1may include conventional network components (not shown), such asswitches, wireless access points and routers to connect the componentsshown.

Although illustrated as a single knitting machine 135 in FIG. 1 , theknitting machine 135 may represent one or more knitting machines used tomanufacture knitted component 140. These one or more knitting machinesmay be located in the same and/or different geographic locations. Insome aspects of the present disclosure, the one or more knittingmachines may be operatively in communication with each other. Theknitting machine 135 may comprise an industrial flatbed CNC knittingmachine that is programmable and built for industrial manufacturing. Theknitting machine 135 may further comprise two parallel rows of needles,referred to as “needle beds,” with a plurality of needles that are usedfor continuously knitting the yarns or other materials fed into themachine. These yarns or other materials (e.g., material 130) may be fedinto the knitting machine 135 via multiple carriers. In someembodiments, the knitting machine may comprise sixteen (16) carriers.Complex knitted structures may be generated via the knitting machine byelectronically controlling specific needles, which can transfer, skipand/or cross yarns between needles and across needle beds, tomanufacture a knitted component based on an underlying knitted design.Flatbed knitting machines, such as the knitting machine 135, may beconfigured to seamlessly produce three dimensional volumes, and operatein high capacity with little to no human intervention. However, in theevent of a fabric deformation in comparison to the intended design, orother manufacturing issues, a change in the knitting designprogram/process may be necessary. Such changes may typically requiremanual retrofitting by highly skilled operators, resulting in asubstantial reduction in knitting capacity and efficiency, and anincrease in product and related overhead costs. For example, when theoutcome of the knitting machine (e.g., knitted component) is not asintended, a technician may be required to change or later certainknitting parameters to try to rectify the problem. Knitting parametersthat may be changed manually include, among others, the stitch densityand/or structural changes in the knit itself—such as adding orsubtracting stitches, rows, etc. This hindsight based approach toproducing a desired knitted component and making adjustments to aknitting machine is time-consuming and costly. According to theembodiment described herein, such adjustments and changes are notrequired given that all knitting parameters will be calculated tooptimize the shape and outcome of the knitted component. Thus, reducingthe necessity/need for manually retrofitting knitting machine whenconfronted with such manufacturing issues would be desirable.

In one aspect of the present disclosure, the present knitting system maybe used to customize knitted products that are generated via industrialflatbed knitting machines. For example, by incorporating knittingmachines in retail locations for in-store on-demand customization, auser may create a particular design of a knitted component and have aknitted component manufactured based on that design. In some instances,these attempts at providing on-demand product customization of knittedcomponents are limited in scope and operability, thus usingcustomization simply as a means for personalizing the design of aknitted component or product, usually within predefined and limitedparameters, such as changing only the colors of the yarns. Otherinstances may include fit modifications to the knitted component in alimited and prescribed manner. This form of a more tailored knittedproduct “customization” may be supported by the present knitting system,which seeks to simplify the knitting interface, and make it accessiblefor customization directly by end users.

As will be explained in more detail below with respect to FIG. 3A, andother figures, in other aspects of the present disclosure, the presentknitting system, design tools, and manufacturing of knitted componentsencompasses a much broader definition of customization, which includesproviding a design environment configured to allow a user to makesubstantial changes in knitted structure combinations (e.g., size,shape, material composition, etc.) all within the same fabric or knittedcomponent. Computational knitting can greatly benefit from additionalcontributions, such as those described herein, which further develop andrefine tools for digital knitting fabrication.

Additionally, different data sources can be generated and/or obtained bythe knitting system to directly drive knit production, and further to:serve as input for product specification; to enhance accuracy andefficiency of production; and improve waste reduction. This knittingprocess and information flow, discussed below in more detail withrespect to FIG. 3A, can happen in real time. This improvement inefficiency and communication along the design/fabrication pipeline canlead to an improved coupling between shops and production facilities. Itmay also lead to enhanced communication and data flows between remoteparties to improve the knitting process, for example, data may beobtained remotely from online commercial activities whether onlineshopping, customer engagement, or other feedback information such assensor data. By improving the knitting process to predict deformationand other fabrication issues in a knitted component, the knitting systemdescribed herein is enabled to improve the knitting process in a mannerthat provides high volume production for high diversity of knit designsand individualization on demand.

Within the framework of this changing environment for designing andmanufacturing knitted components, in some aspects of the presentdisclosure, the system described above may comprise one or morecomputing devices, such as design computer 102 (or a computational tooltherein) for utilizing multiple digital inputs, along with a liveparametric pipeline, to generate the necessary machine code and outputfiles for operating a knitting machine to manufacture customized knitdesigns. As will be explained in further detail below with respect to atleast FIG. 3A, the knitting system 100, including one or more computingdevices therein (e.g. design computer 102), may be configured to: (i)manufacture a fabric with multiple knitted structures within the samesample or knitted component; (ii) interchange knitted structuresparametrically, in a way that does not alter the overall geometry anddimension of the outline of the fabric, and further maintains thegeometric proportion of the customized design within the sample orknitted component itself; and (iii) operate aspects of the knittingmachine directly from the computational tool.

In additional aspects of the present disclosure, various features ofuser interfaces, such as user interface 115 and/or other suitableinterface, for accepting user input and providing a user withinformation regarding the knit design will be described in more detailbelow. Those skilled in the art will appreciate that the followingdescription and the attached drawings merely represent examples ofpotential features, functionality, arrangement of interface components,orientation of interface components, combinations of interfacecomponents, and the like, of systems, methods, and user interfaces inaccordance with one or more aspects of the present disclosure.

Additional aspects of the present disclosure relate to user interfacesprovided on computing devices that allow users to design articles offootwear (or other consumer products). The user interfaces may includeelements and features that allow use and/or activation of any of thefeatures and/or functionality described above and/or any of the featuresand/or functionality described in more detail below.

As some more specific examples, aspects of the present disclosure relateto computer readable media including computer executable instructionsstored thereon for generating a user interface for a footwear designsession on a computer controlled display device. This user interface mayinclude, for example: (a) a first display portion including at least onerendering of an article of footwear; (b) one or more selector elements(such as a pointer or cursor) that allow a first user to select aportion of the article of footwear; (c) an indicator indicating whatportion(s) of the article of footwear has been selected via anindividual selector element (such as text, icons, pictures, animations,etc.); and (d) a first element for producing a change in an appearanceof the rendering of the article of footwear in the first display portionbased on input generated by the first user. The first element (or atleast some element of the interface) may include features like a colorpalette or color menu that allows users to change a color of a selectedportion of the article of footwear and/or a component of the article offootwear (e.g., knit material); one or more orientation elements thatallow users to change an orientation of the article of footwear asrendered in the first display portion; one way, two way, or multi-wayuser communication elements or features (such as textual input anddisplay panel(s), instant messaging capabilities, audio and/or videocommunication capabilities, etc.); etc. The user interface further mayinclude an input portion through which the first user can input dataused to set up a collaborative footwear design session with a seconduser (or another user).

Given this general background and information, more detailed informationregarding specific examples of systems, methods, computer-readablemedia, and user interfaces in accordance with the present disclosurewill be described in more detail below. It should be understood thatthis more detailed description relates to various specific examples ofthe present disclosure and their features and functionality, and thisdescription should not be construed as limiting the scope of the presentdisclosure.

I. Knitted Structures and Computational Design Tools

Customization of knitted fabrics is inherently possible through digital,mechanical and material control of every stitch combination within theresulting knitted component/fabric. When compared to other textiletechniques, for example weaving, knitting is often considered moreadaptable in its composition due to long continuous yarns that form thefabric or knitted component. In the knitted fabric/material, these yarnsmay be inner-looped by individually controlled looped stitches via aknitting machine. Changes in the course and tightness of the loopsthemselves, as well as with adjacent loops, may result in the overallattributes and performance of the knitted component, for example itstensile properties, density, opaqueness, repeatability, fall and othervisual and physical characteristics. In addition, during the knittingprocess, it is possible for a manufacturer to switch yarns, andseamlessly integrate new materials in the knitted fabric/material.

Knitted fabrics are flexible and stretchy by nature, with nonlinearthree-dimensional kinematics, a characteristic attributed to theinter-looping of the continuous yarns that comprise the knittedfabric/material. As will be explained in further detail below, aspectsof the present disclosure pertain to the digital innovation ofindustrially manufactured knitted fabrics, including thosefabrics/materials that may contain complex or multiple knitting stitchcombinations within a portion of the same knitted component/fabric,which may be referred to as a “knitted structure.” Complex knittedstructures may be achieved by creating a sequence of constructions thatrepeat themselves and give the fabric its overall appearance andphysical attributes.

FIG. 2 shows examples of different complex knit constructions that maybe employed to manufacture a knitted component. In particular, FIG. 2Aillustrates the technical face notation of commonly used knitconstructions, such as “Plain” construction 210; “Rib” construction 212;“Transfer” construction 214; “Miss or Float” construction 216; “Tuck”construction 218; and “Spread” construction 220. For example, a varietyof different knitted structures may be generated using (and/or based on)a repeat sequence of one or more knit constructions, such as theTransfer and Tuck stitches. The information identifying one or moretypes of knitted constructions/compositions associated with and/oravailable for generating a particular knitted structure may be stored inthe library 117.

In some aspects of the present disclosure, the knitting system 100 isinformed by the process of knitting, and uses an unconventionalbottom-up approach that stems from understanding fabrication needs andprocesses for knitting materials and operating the knitting machine 135.In some aspects of the present disclosure, one or more computing deviceswithin the knitting system 100, such as design computer 102 (or acomputation tool therein) may obtain and analyze a plurality ofpredefined knitted structures, for example, knitted structureinformation stored in library 117. The design computer 102 may befurther utilized to combine the one or more knitted structures withinthe same fabrics or knitted components. By strategically combining thevarious knitted structures within the same knitted component undervarious permutations, the design computer 102 may analyze one or more ofthe typical ratio proportion deviation, aspect ratio, and dimensions ofeach knitted component from an intended knit shape or design. Forinstance, a change in the stich density of a knitted structure maychange the overall dimensions of the specific area of the knittedcomponent, but it may not impact the ratio between width and length. Anavailable visualization tool (e.g., module 110) may be used to simulate,based on a physical spring-based compensation analysis, the deformationof the knitted samples/components under a resting condition. Naturally,over time and with no external forces, a knitted structure that was heldin a specific size on the knitting machine might be under tension due tothe knitting process. Once this knitted structure is removed from theknitting machine and let rest, it may change its shape in order toconform with a minimum internal energy. This similarly explains theshrinking phenomena of any textile (or even other material), that whengiven enough time in resting conditions, without forcing it into anyshape, will eventually allow for the knitted structure to deform intoits “natural” shape. A number of differing modification tools may beused by the design computer 102 or knitting system 100 to automaticallyredistribute the forces in the knitted component/fabric, in a mannerthat compensates for the physical deformation, resulting in amanufactured knitted component that bears a greater resemblance to theintended knit design than would otherwise occur using conventionalknitting systems/processes.

FIG. 3A illustrates an example flow diagram for a method of designingand manufacturing knitted components, in accordance with one or moreaspects of the present disclosure. The knitting process depicted by FIG.3A may also be referred to herein as a “computational tool pipeline.”The stages identified in FIG. 3A may be performed with a system such asthe knitting system 100 shown in FIG. 1 . The process shown in FIG. 3Acomprises a plurality of stages (e.g., elements 302-308), each of whichmay include one or more steps in the process of designing andmanufacturing the knitted component as described herein.

For example, a first stage of the knitting process (or computationaltool pipeline) may comprise an input stage, such as stage 302 shown inFIG. 3A. At this stage, the knitting system 100 may obtain input,including design input, for manufacturing the knitted component. As anexample, as shown in FIG. 3B, element 332 represents an example imagethat may serve as input data and/or an intended knit design for theknitting processes. In this example, the image represents an aerialpicture of sand dunes. Various other images, pictures, knit designs, andother information may be used by the knitting system 100 as input data.Additionally, FIG. 3C illustrates additional elements of knitting system100 that may be used to perform various stages of the knitting processesshown in FIG. 3A and described herein. For example, as shown in FIG. 3C,design computer 102 may receive and/or obtain input data/file 332 fromone or more other computing devices or suitable data storage.

The knitting system 100 may utilize an input device, such as inputdevice 109, or other suitable device to obtain the input data. In someembodiments, the input device may comprise a parametric interchangeableinput device, shown in FIG. 3A as an image input (e.g., element 302).The input device may be configured to interface with a variety of dataformats/structures, for example, numerical vector, and/or raster dataformats.

A second stage of the knitting process (or computational tool pipeline)may comprise a sampling and allocation stage, such as stage 304 shown inFIG. 3A. At this stage, the knitting system 100 may sample input data,such as the input data received at stage 302, using a visually flexibleuser interface, such as UI 115. The user interface may include and/orobtain from one or more other computing devices (e.g., design computer102, structural rules 120, etc.) allocation logic, allowing the user toflexibly control the design of the knitted component. For example, auser may utilize the user interface 115 to select and/or allocateparticular knitted structures and/or knitting compositions that maycomprise the overall knit design. Different knitted structures and/orknitting compositions may have different visual appearances whenmanufactured, such that the use of different knitted structures fordifferent portions of a component may be used to cause the component toresemble a particular image provided as input data. In addition, theoverall knit design may include not only visual designs such a firmlogo, but also different stitches that may impact the physicalperformance of the knitted article/component. In some aspects of thepresent disclosure, a computing device within knitting system 100, suchas design computer 102, may access library 117 (or any other suitablestorage) to obtain the knitted structures/compositions available fordesigning the knitted component.

A third stage of the knitting process (or computational tool pipeline)may comprise a visualization and compensation stage, such as stage 306shown in FIG. 3A. At this stage, the knitting system 100 may evaluatethe deformation between a design intent (e.g., the design of the knittedcomponent before knitted structures are allocated) and thepredicted/future physical behavior of the knitted fabric oncemanufactured by the knitting machine, based on the allocated knittedstructures. The deformation is a spatial deformation of the knittedcomponent relative to the design intent (i.e. a baseline geometry of theknitted component in accordance with an original design prior to theallocation of any knitted structures to form the component). Thedeformation may relate to at least a profile of the periphery of theknitted component (i.e. an outline). The deformation may relate to amapping between a spatial distribution of a plurality of portions of theknitted component in accordance with the design intent, and a spatialdistribution of the plurality of portions of the knitted component aspredicted based on the allocated knitted structures. In some aspects ofthe present disclosure, one or more computing devices within theknitting system 100 may comprise a visualization and compensation module(e.g., module 110 of design computer 102) that utilizes informationobtained from (i) previous/historical analysis of knit structures and/or(ii) output from a spring-based physical engine, such as engine 116, toevaluate such differences. As used herein, a spring based physicalengine refers to a computational model used within software to simulateone or more segments of a knitted structure, design or component as aphysical spring with a predefined internal force. This software tool isused to embed physical behavior in a 3D modelling environment and,further, allows for a live interaction as the simulation is running. Thesoftware tool, which may be implemented on a computing device, such asspring engine 116 and/or computer 102, provides various ways forgenerating forces which affect the particles in the simulation,calculating force exertion for a spring model which follows Hooke's Lawof Elasticity through input measurements that are derived from thegeometric model of the knit component.

A fourth stage of the knitting process (or computational tool pipeline)may comprise a compiling stage, such as stage 308 shown in FIG. 3A. Atthis stage, one or more computing devices of the knitting system 100,such as design computer 102, may generate and/or output machine codeand/or data files for operating a knitting machine, such as the knittingmachine depicted in FIG. 3A as element 310, or the knitting machine 135shown in FIG. 1 . In some aspects of the present disclosure, the designcomputer 102 may comprise a compiler, such as the compiler 108, forgenerating and/or outputting machine code and/or data files to theknitting machine 135.

A. Evaluating and Fabricating Knitted Components

The geometrical attributes of knitting, such as the ability for theknitted component to adhere to particular, complex, non-developabledoubly curved geometries, and the fact that manufacturing the knittedcomponent is digitally conceived and may be applied using countlessmaterials and customized designs, explains in part why the developmentof enhanced design tools and manufacturing capability is desirable. Inaddition, there is a general interest in new building materials, as wellas methods and processes for manufacturing knitted components, includingextensive efforts for integrating robotics, automation, and machinelearning in the fabrication and manufacturing processes. Accordingly,aspects of the present disclosure focus, in part, on complexthree-dimensional geometries for knitted components, which may be suitedfor product architecture and can be used to develop textile-basedbuilding components for particular products that are differentiated intheir appearance and structural attributes, thereby providing the userwith improved customization opportunities. For example, 2D knit footwearuppers may be fabricated, and subsequently used to produce 3D articlesof footwear that incorporate the fabricated knit footwear upper.

In addition to structural considerations in relation to productarchitecture, other forms of information inputs are taken into accountto delineate both visual and performative differentiations withinknitted structures of a knitted component. For instance, in some aspectsof the present disclosure, data from multiple sensors (not shown) may beutilized by the knitting system 100 to record/determine changes in theknitting environment, rendered as variations in a knitted facade. Forexample, within the context of fiber-based structures created using amold-less winding technique, a continuous and mutual exchange of sensorinformation may be passed between a robotic effector and a pneumaticformwork during the knit assembly process. For instance, a sensor on theknitting machine may measure the actual length of yarn knitted into thefabric at a specific area. This data may be transferred to the designsystem and be used as a feedback mechanism to better control and betterdesign the knitted article. This communication of information mayfacilitate more predictable change and variation within the definingcomputational model or knit design. The examples and applicationsdescribed herein exemplify the importance of creating a direct feedbackbetween the design domain and actual fabrication of the knittedcomponent, as well as the potential of collected information tosignificantly change manufacturing towards becoming more diverse andindividualized systems.

Although recent advances have made knit simulation somewhat moretractable and predictive, such achievements are not usually aimed atmanufacturing, and instead focus on the design of a knitted component,and not the subsequent manufacture or fabrication of said component.Using different logic and algorithms for abstracting the complexphysical behavior of textiles in an effort to computationally model thebehavior of textiles can be challenging. In particular, knitted fabricsare noted as more challenging and specific to model than woven fabrics,which more commonly and simplistically represent textile behavior.

In some aspects of the present disclosure, differentiating betweensimple and more complex knits, the knitting system 100 (or one or morecomputing devices therein, such as design computer 102) may processdifferent types of knitting stitches/compositions, to determine variouscourses of the yarns comprising a knit design, testing sample, orknitted component, and how the yarns individual path influences theoverall physical fabric motion. One example is use of general meshrepresentation in the CAD (Computer Aided Design) environment which areassigned specific stitch types with different observed physical restlengths assigned to each of its faces. This enables one to replicate avariety of more complicated knitting patterns, and may be used in thepresent knitting system for purposes of calibration and data collectionwith respect to a jacquard weft knitted lace fabric, wherein aspring-mass simulation may be implemented, by the knitting system (e.g.,spring engine 116), to replace the general pattern of the fabric with astitch cycle that forms a new secondary grid for the simulation of thepattern.

In aspects of the present disclosure, simulation models may be used todetermine/predict the mechanical interactions between yarns or othermaterials at the cross section of yarns at each stitch intersection of aknitted component. For example, computational models such as neuralnetwork and fuzzy logic models may be used by one or more computingdevices of the knitting system 100 (e.g., design computer 102) topredict the tactile characteristics of knitted textile with relation tofinishing treatments. Such computational models may include numericallycharacterizing complex concepts related to human sensory evaluation oftextiles.

In some aspects of the present disclosure, the knitting system 100 mayutilize one or more computational models to simulate and/or predict thephysical behavior of a knitted component. For example, a spring modelmay be used as the physical engine for implementing the simulation giventhat it provides a quick and reliable testing/simulation method, anduses a modelling logic of particles which is compatible with thecomponent-based modelling of knitted fabrics. The spring model utilizedby the knitting system 100 may be stored on and/or executed at springengine 116.

As will be explained in more detail below, the knitting system 100 maybe configured to embed information indicating the physical behavior andcharacteristics of the knitted component directly into a 3D modellingenvironment, thereby allowing for a “live” (e.g., dynamic, real-time)interaction with the knit design, while the simulation is running. Insome embodiments, the design computer 102 may be configured to performsuch steps. For instance, such steps may be carried out by acomputational tool of the design computer 102, such as computationaltool 333. The knitting system may include various ways in which togenerate forces that may impact portions of the knitted component withinthe simulation. In some embodiments, the knitting system 100 maydetermine force exertion for a spring model by using and adhering to theprinciples of Hooke's Law of Elasticity. The spring-based method mayalso be utilized for simulating fabric behavior, thereby creating amodeling and simulation environment in a programmable language, such asProcessing (Java), coordinated with finite element analysis.

Finally, in other aspects of the present disclosure, one or morecomputing devices of the knitting system 100, such as design computer102, may execute an application (or other software suitablesoftware/module, such as a compiler—e.g., compiler 108) to bypass thestandard interface of a knitting machine, and to translate a source codedirectly from a high-level programming language to a lower levellanguage (machine code). This bypass may be implemented when theknitting (or operational) tasks to be performed by the knitting machinecannot be achieved by using the regular/standard knitting machineinterface. Such is the case when fabricating/manufacturing at leastparametric knitting patterns, including those patterns that are based onvariations of a generative, non-repetitive, large-scale geometry, whichcannot be designed and/or handled through conventional knitting machinesoftware.

In other aspects of the present disclosure, one or more compilers (orother suitable software/modules) of the knitting system 100 may analyzeand/or process complex three-dimensional geometries for shaping a fabricinto a particular configuration, such as a volumetric configuration.This may be achieved, for example, by providing an automated knittingsystem to: (i) form volumes and control their geometry, (ii) stitch thevolumes together, and (iii) instruct one or more knitting machines toconstruct and/or manufacture the knitted component. In still otheraspects of the present disclosure, the knitting system 100 may utilize aknitting machine (e.g., by the design computer 102 transmitting knittinginstructions to the knitting machine 135) to knit complex,non-developable surfaces within a single knitted component or article offabric, without the necessity of tailoring or stitching. The knittingsystem 100 may utilize the design computer 102 (or a computational tooltherein), to: (i) automatically sample shapes, knit compositions, and/orknitted structures, (ii) dissect the knitted structures into one or moreknitting rows, and (iii) generate and/or fabricate one or more knittingpatterns.

In other aspects of the present disclosure, rather than using themachine logic for instructing needle commands as single consecutiveoperations, the knitting system 100 may utilize a knitted component or aportion thereof (e.g., knitted structure(s)) to guide the computationalmodel, in particular, the knitting system may utilize the knittedstructure repeat sequence(s), used by the knitting machine, tofabricate/generate a new knitting structure and/or a subsequent knittedcomponent. In this way the knitting system 100 may provide improvedcontrol and enhanced, more efficient, prediction levels for implementingdesign decisions prior to manufacturing the knitted component, andinforming the end user of available design options. By enlarging thescope of users, thus providing foundations for creating a general designenvironment for design-to-production of knitted components, the knittingsystem is able to decrease/reduce conventional dependency on technicalexperts to perform such tasks.

II. Additional Examples of Evaluating and Fabricating Knitted Components

In some aspects of the present disclosure, the knitting system 100 maybe configured to utilize the knitting machine to generate knittedcomponents without using the conventional/standard software interface(s)of the knitting machine. The design computer 102 may implement acomputation tool (e.g., computational tool 333) that outputs twocoinciding files, which in some instances may be required for theknitting machine 135 to manufacture the knitted component. The firstfile may comprise a detailed machine-level control language. In someinstances, the first file may comprise a Sintral file, and may begenerated by a file generator of design computer 102, such as filegenerator 342. The second file may comprise a matrix array. In someaspects of the present disclosure, the matrix array may contain dataindicating a knitting plan for the knitting machine. This matrix arraymay also comprise data indicating and/or denoting every stitching needleaction and operation, such as a Jacquard file. In some instances, theJacquard file may be generated by a file generator of design computer102, such as file generator 341.

In some aspects of the present disclosure, one or more computing devicesof the knitting system 100, such as the design computer 102, may beconfigured to allow the designer or user to incorporate design changeswithin a predefined knitting area of the knitted component. The designcomputer 102 may also determine the shape and/or scale of an outline ofthe knitting component to be manufactured, as well as the graphiccomposition of the contents of the knitted component. Additionally, theknitting system may be configured to manufacture/fabricate the knittedcomponent in various shapes and patterns, for example, the shape of afootwear upper or an article of apparel. In some aspects of the presentdisclosure, the knitted component may comprise a rectangular shape,which may improve the ease in which one or more computing devices withinthe knitting system 100, such as design computer 102, may evaluatedeformations from the original intent of the knit design. The knittingsystem 100 may be configured to manufacture one or more knittedstructures within the same knitted component, which leads to fabricswith inherent complexity in two-dimensions (2D) given the differentdensities of the various knitted structures that may coexist within thesame knitted component. The importance of maintaining the shape of thefabricated knitted component(s) pertains to the later connecting of the2D layout pattern (e.g., footwear upper) into three-dimensional (3D)forms (e.g., an article of footwear). In some embodiments, theconnecting of the 2D layout pattern into a three-dimensional (3D) formmay be achieved by sewing, which may be performed by the knittingmachine 135 or other suitable machines for sewing (not shown in FIG. 1). This both explains and underscores the importance of achievingaccurate, reproducible dimensions for the knitted component. Moreover,fabricating 2D forms with bends and creases, which are typically used inknitting processes to achieve slight volumetric shapes prior to sewing,depend on the ability of the knitting machine to create variations inknitted structures. Thus, an objective of the present disclosure mayrelate to the fabrication of 3D shapes via the knitting machine.

In some aspects of the present disclosure, an input device in theknitting system (e.g., input device 109) may enable users/designers tocontrol the distribution of different stitch combinations within theknitted component, and to visualize the knitted structures/patterns viaa user interface (e.g., UI 115) before physically knitting orfabricating the knitted component. Conventional design and/orvisualization tools do not attempt to simulate the physical behavior ofthe knitted fabric in resting condition. Likewise, under conventionaldesign systems, the combination of different knitted structures requiressubstantial professional and technical expertise, in particular, whenconsidering performative behaviors of the different knitted structureswhen stretching and deformation is taken into account. As a result,previous attempts to “sketch” a design pattern for knitted fabric and topredict the behavior of the knitted fabric before it is actuallyknitted/manufactured have proven burdensome, time consuming, andinefficient because this process usually requires iterativemanufacturing attempts, using one or more knitting machines, tofabricate a knitted component which has a physical appearance thataccurately corresponds to the intended knit design. In fact, even whenexperienced knitters and/or technical experts are involved, theconventional “sketch” approach described above still requires numerousiterations to fabricate an appropriately shaped knitted component, basedon the complexity of the knitted structures/pattern and the stitchpatterns for the knitted component to be fabricated by the knittingmachine.

For example, FIG. 4A shows an example knitting design (e.g., knit design402) that may be used by the knitting system 100 tofabricate/manufacture a knitted component. The knitted components 404,406 shown in FIG. 4B and described in more detail below, are variationsof the knitted structures (stitches) allocated to each color in design402, and as such, provides variations in overall shape and deformation.In some instances, knit design 402 is initially received without anyknitted structures and according to the grayscale definition thesoftware may allocate individual knit structures—darker areas of thegrayscale representation may indicate more condensed knit structures,while lighter areas indicate net-like (or less dense) knit structures.This parameter may be controlled and changed by the user. In addition,as described herein, users may assign colors (e.g., yarn colors) to theknit design. FIG. 4B shows two knitted components (e.g., knittedcomponents 404, 406) that were fabricated by a knitting machine usingdifferent knitted structures, thereby resulting in a different shape ofthe fabric outline for each of knitted components 404 and 406. As shownin FIG. 4B, the knitted components also include different dimensions ofthe overall fabric to one another. In the examples shown in FIG. 4B,both knitted component samples (e.g., elements 404, 406) were knitted bya knitting machine using three identical yarns of three differentcolors. As such, for at least the exemplary knit design 402 shown inFIG. 4B, this particular allocation of knit structures to the knitdesign has a slight impact on the overall dimensions of the knittedcomponent when yarns/material of different colors are used tomanufacture the knitted component.

At least one object of the present knitting system is to provide amechanism for testing/evaluating the computational parametricfabrication of knitted components/fabrics with an emphasis onconnectivity between design, design variation, knitted structureallocation and industrial manufacturing/fabrication. In some aspects ofthe present disclosure, data output of the design computer 102, such asmachine code, maintains a live and/or real-time communicationrelationship between the knit design and instructions to the knittingmachine, and also updates simultaneously with any parametric variationsin the knit design (or user interface) environment. This is in contrastto conventional processes for knitting fabrics, which—as previouslyexplained—require a number of manual digital conversions by differentprofessionals, experts, or technicians involved in the process ofindustrial knitting.

Another objective of the knitting system described herein is improvingdigital customization and/or user interfaces for operating the knittingmachine to enhance a fit and/or a performance of knitted products. Insome aspects of the present disclosure, parametric variation in colordistribution of materials (e.g., yarn) within the same knitted/fabricstructure may be more easily achievable when using a homogeneousknitting pattern given that the physical attributes of the knittedcomponent (e.g., elasticity, material type, tensile strength,elongation, flexibility, durability, etc.) may remain constant as wellas the principle knitting commands. By contrast, parametric distributionof knitted structures may change performative aspects of the knittedcomponent, and is also useful when designing knitted components for highperformance products, such as footwear and wearable apparel.Accordingly, issues of fit (e.g., better grip, motion restriction andguidance, customized support, matching to irregular/asymmetricalphysiognomy, etc.) may be better addressed by changing the knittedstructures of a knitted component, rather than using conventionaldesign/fabrication methods.

A. Matrix Data Structure Approach for Generating a Knitted Pattern

For designing knitting patterns/structures, the knitting systemdescribed herein may utilize an input device (e.g., input device 109),such as a parametric interchangeable input device, capable of usingmultiple data type sources, for example, numerical, vector, and/orraster-based data sources. Using multiple design inputs to instruct theknitting machine to fabricate the knitted component is founded on theidea of a flexible design platform, which may incorporate various typesof data input sources, such as customer feedback data, sensor data,individualized body scans, and the like. In some aspects of the presentdisclosure, the knitting system 100 may use gray scale images (and/orother types of images or input data) to show/predict the potential ofparametric distribution of different knitted structures within the samefabric or knitted component. In some examples, the grey scale images(and/or other input data used for generating the knitted component) canbe interchangeable. Additionally, user control options may be provided,for example via the UI 115 and/or design computer 102, to enable theuser to control the distribution of knitted structures within a knittedcomponent.

As discussed above, at the input stage 302 of the example knittingprocess or computation tool pipeline shown in FIG. 3A, the knittingsystem 100 obtains, via input device 109, input data such as inputdata/file 332. Subsequently, the knitting system 100 or one or morecomputing devices therein (e.g., design computer 102) may process theinput data to generate output files, including a two-dimensional matrixarray. In some aspects of the present disclosure, the knitting system100 may assign a unique character and/or identifier to one or morerubrics in the matrix array. In some instances, every pixel of a designis defined as dark, medium, or light according to a scale threshold, andis then assigned a unique letter/character. Each unique letter/characteris expanded to a small array of letters which correspond to an array ofcommands used to form the matrix array. A rubric may comprise a subdivision of the initial knitting area into small squares, each isassigned a letter, a unique character which is associated with a knittedstructure. The user/designer may control the number of knittingstructures, and their distribution logic. For example, rubrics can bedistributed according to an image or data file, and the user may choosehow the image is filtered basically replacing color pixels withstructure “rubrics” or components. These rubrics serve as the mechanismfor allocating the different stitch structure to an area in the knitdesign (e.g., knit design 402). This is achieved by allocating a colorin the knit design the required rubrics, for example, by (i) filteringthe pixel colors, (ii) using a parametric formula, or (iii) manuallyaccording to the designer the requisite allocation information. In someinstances, the knitting system 100 may assign every rubric in the matrixarray a unique character and/or identifier. The number of uniquecharacters and/or identifiers assigned, by the knitting system 100, maycorrespond to the number of different knitted structures implemented formanufacturing/fabricating the knitted component. As shown in FIG. 3B,element 334 represents an example data structure (e.g., matrix array) ofunique characters that may be generated as output, based on input data(e.g., element 332) and/or a knit design. The matrix data structure maybe stored on design computer 102, as indicated by element 331 of FIG.3C.

In some aspects of the present disclosure, the knitting system 100 mayexecute determining and/or allocation logic to distribute the differentknitted structures for the knitted component with relation to aparticular data input or file, such as a raster image. This distributionperformed by the knitting system 100 may be achieved through thesampling of grayscale tones and/or other input data. As discussed abovewith respect to FIG. 3A, the knitting system 100 may perform suchsampling, via a user interface 115, at a sampling stage (e.g., stage304) of the knitting process or computational tool pipeline. As anexample, a 16-bit grayscale image comprises over 260 thousand tonalvalues between two predetermined values, for example, between zero (0)and one (1). In instances where a relatively low number of knittedstructures are utilized to design/fabricate the knitted component, theknitting system 100 may apply a threshold mechanism for resampling thegrayscale values into a number consistent with the number of knittedstructures that the designer or end user desires to include in theknitted component.

The knitting system 100 may assign one or more thresholds, of thethreshold mechanism, a unique character and/or identifier. In someinstances, design computer 102 may assign each threshold a uniquecharacter and/or identifier. In some embodiments, where the knittingsystem 100 evaluates knitted components comprising a single yarn of onecolor, the knitting system may automatically arrange the knittedstructures of the knitted component by density. For example, theknitting system 100 may be configured to arrange the knitted structuresfrom the most dense and/or opaque structure to the most loose and/ornet-like structure. As such, the distribution of the knitted structuresmay correspond to the grayscale tone level of the image (or other inputdata), which may visually appear as a pixelated knitted component orfabric when manufactured by the knitting machine (e.g., the knittingmachine 135). In other aspects of the present disclosure, the knittingsystem 100 may recommend to the designer or end user a suggestion orrecommendation to range the knitted structures of the knitted componentby density, for example, when the knitted component comprises a singleyarn of one color.

Referring back to the unique character matrix data array discussedabove, the knitting system 100 may automatically translate this matrixdata structure into a standard line-numbered Jacquard file format. Forexample, as shown in FIG. 3B, the matrix data structure (represented byelement 334) may be translated into a separate file format, asrepresented by element 336. In some instances, a computation tool (e.g.,computational tool 334) executed on the design computer 102, or othersuitable computing device(s) of the knitting system 100, may translatethe matrix data structure 331 into a Jacquard file format. In someinstances, the translation of the matrix data structure may be performedby file generator 341. The Jacquard file, generated by the knittingsystem 100, is composed of an array of characters, which represent a twodimensional space containing the one or more knitting commands of anyparticular knitting task to be performed by the knitting machine 135.The rows of characters in this array may be presented in the order ofoperation for the knitting machine 135, which may perform the knittingfrom the bottom to the top, row by row, character by character as shownin the sequence depicted in FIG. 5A. In particular, FIG. 5A shows needlecommand notations for a sequence of 2 knit structures (StructureA—element 510, and Structure B—element 520), showing one cycle of eachstructure. As further shown in FIG. 5A, each character of the arraydefines an action/operation (e.g., knit construction) to be performed bythe knitting machine 135, for example, the various knit constructionsshown in FIG. 2 . One or more needles of the knitting machine 135 mayperform various operations, including, among others:

-   -   Tuck—an operation which adds a new yarn to a needle, either        previously holding a loop or empty;    -   Knit—an operation that instructs the needle to draw a new yarn        through a previous loop held by the needle, forming a new loop;    -   Miss or Float—an operation that instructs a needle not to        operate, allowing the new yarn to pass laterally without getting        caught.    -   Transfer—an operation that instructs a needle such that it        passes the held loop(s) to an adjacent needle, which is either        empty or already holding a loop (or loops). For certain knitting        machines, passing a loop to a needle on the same needle bed may        not be possible, and thus requires a two-step operation.    -   Split—an operation which combines a Knit operation and a        Transfer operation into a single operation. The Split operation        instructs the needle to knit through a loop onto the opposite        needle bed, without losing hold the loop in the original        knitting needle.

In some aspects of the present disclosure, the knitting machinecommands/operations are doubled, in particular, the knitting system 100may assign a different unique character for needles positioned on frontbeds and/or back beds of the knitting machine 135. As such, themachine-level control file (e.g., the Sintral file) continuously obtainsand evaluates information from the Jacquard file regarding the locationand the knitting commands of the matrix array.

FIG. 5B illustrates, via elements 512 and 522, the technical annotationscorresponding to the machine operations respectively represented bymatrix data Structure A (element 510) and matrix data Structure B(element 520) shown in FIG. 5A. These annotations represent standardtechnical stitch annotation, wherein each symbol may represent/indicatea single knitting stich performed by a particular knitting needle on theknitting machine. This manner of “illustrating” the knitfabric/component, via the technical annotations shown in FIG. 5B, may beused to communicate a particular knitted/fabric structure to the user,and further, to communicate such information when programming theknitting machine 135 to perform the intended fabrication/manufacturingof a knitted component. The drawings corresponding to elements 512 and522 present a simplified top view of the two knitting beds (of theknitting machine 135) with the yarn line illustrating each needleaction/operation. In particular, as noted above, the illustrationsdepicted in FIG. 5B shows one cycle of each knitted structure/pattern.

In fabricating the knitted component, the knitting system 100 may relyon identifying knitted “block” structures, rather than determiningsingle needle operations. Thus, in some aspects of the presentdisclosure, the knitting system 100 may assign a linear array of needlecommand operations for each recurring knitted structure in the finalknitted component. This is particularly relevant when the knittedstructure(s) recur in a sequence. Accordingly, the knitting system 100may parse one or more unique characters, of the matrix data structure,with a small array of needle command operations. For example, the designcomputer 102 may parse, via (Jacquard) file generator 341, every uniquecharacter of the matrix data structure with the small array of needlecommand operations.

The knitting system 100 may analyze the knitted patterns/structures anddecompose them into minimum recurring “blocks.” For example, as shown inFIG. 5C, element 532 represents an exemplary rendering of recurringblocks for a portion of knit design 534. In this example, the knitdesign may already comprise corresponding stitch structure data. Thisdata may be originated, for example, from (i) an image and stitchallocation, or (ii) directly from either by a parametric formula or bythe designer (user). One or more of these recurring blocks may consistof one or more needle operations. In some instances, each of therecurring blocks may consist of one or more needle operations. Giventhat different knitted structures with a different command operationlogic may be combined into one output file, one or more matrix arraysmight be different in dimensions. Therefore, in such instances, theknitting system 100 may utilize a common denominator for both width andlength of each knitting array such that all combinations of knittedstructures (or corresponding command logic) may eventually form aunified rectangular matrix at its borders, and thereby reduce and/orprevent distortion of the knitting pattern.

In other aspects of the present disclosure, to enhance the resolution ofa particular/sample knitted component, the knitting system 100 mayfurther decompose or “breakdown” the knitted patterns beyond theirindividual visual components by (i) disrupting a cycle of the recurringpattern and (ii) adding a smaller segment (or sub-block) of the originalpattern to the knitted structure. For example, as shown in FIG. 5C, anadditional breakdown of the knit design for a knitted component may beintroduced, by the knitting system 100, to the width direction of theknitted component, thereby changing the resolution and the proportion ofthe image depicted on the face of the knitted component, resulting in aknitted component (e.g., knitted component 530) that includes a knitdesign with increased resolution. For example, referring to FIG. 5C,element 532 depicts an example of the recurring blocks comprising theone or more knitted structures for a portion of an original knit design,e.g., design 534. Element 532 includes a plurality of recurring cells,as well as a single knit structure (e.g., element 535) composed of afour-cell block of the knit pattern.

To improve the resolution of the design on the knitted component, asexplained above, one or more computing devices of the knitting system100 (e.g., consumer device 102) may analyze one or more portions of theknit design 534 to decompose or break down the knit structure 535 intosmaller segments or sub-blocks, as shown by knit structures 537 and 539,which are composed of two-cell blocks having a rectangular shape in thewidth direction. As can be seen in the corresponding knit design 538shown in FIG. 5C, the decomposition of knitted structures in theoriginal design, in combination with the reassembly of portions ofknitted structures to form new knitted structures, enables the knittingsystem to improve the resolution of an image/design of the final knitoutcome, for example, the knitted component shown in FIG. 5C (e.g.,element 530). This “breaking down” or decomposition process of theknitted structures of the knitted component, by the knitting system 100,and the subsequent reassembly of one or more portions of knittedstructures/compositions with other fragments/portions of differentknitted structures/compositions within the knitted component enables theknitting system 100 to generate new knitted structures/compositionsbased on the reassembly of varying portions of current knittedstructures in the knitted component, thus creating new knittedstructures and patterns in the knitted component altogether. In otherwords, the knitting system is taking into consideration what knittingstitches may or may not be next to each other according to knownpractice in the industry, and ensures that there are no conflicts in thecurrent design/composition. Furthermore the knitting system reassemblestitches according to the designer/user and according to knitting“rules” or knitting machine limitations.

As explained above, the knitting system 100 may utilize a machine-levelcontrol file (Sintral) generator (e.g., file generator 342) to obtain,as input to the knitting machine, (i) a finalized Jacquard file, (ii)the length and width dimensions of the initial canvas/fabric/knittedcomponent, (iii) the unified structure dimensions (common denominatorfor both directions), and (iv) knitting machine parameters. The knittingmachine parameters may include various metrics associated with theknitting machine, such as total machine width, fabric takedown, knittingand transfer speed, and/or needle counters. These parameters, along withother machine information, may be stored in one or more computingdevices in the knitting system, such as design computer 102 as depictedby element 343 of FIG. 3C. In some aspects of the present disclosure,the knitting system 100 stores this information, as parameters, intospecific locations in machine code file template (e.g., Sintral file).This unconventional process of storing parameters into the machine codeallows the end user or designer to have increased control when operatingthe knitting machine, and to dynamically alter the knitting performed bythe machine between iterations. The knitting machine 135 may use theoutput from consumer design 102, such as the Sintral file, tomanufacture the knitted component. Thus is illustrated in FIG. 3B byelements 336 and 338.

B. Visualization and Simulation of Fabric Behavior

As explained above, knitted fabrics have unique characteristics,specifically because of their long continuous inner-looped yarns, whichmay influence the overall behavior of the fabric. These characteristicsmay cause the knitted component to have nonlinear, three-dimensionalkinematics.

The simulation mechanism utilized by the knitting system 100 tovisualize the physical behavior of the knitted components takes, asinput, the unique character dot matrix generated by the knitting system.Accordingly, given that there may be a particular quotient for each knitstructure that is different than the expected square logic of the matrixarray, the knitting system 100 is able to convert each cell in theinitial matrix (as described, in part, above concerning the subdivisionof rubrics) into a particular rectangular measurement. In some aspectsof the present disclosure, prior to modeling the simulation, theknitting system 100 may obtain data indicating the dimensions of knittedsamples, wherein the dimensions are measured in a relaxed condition ofthe knitted component or fabric. The knitting system 100 may utilizethis data to determine, for each knitted structure, a unique aspectratio that is particular and constant for that respective knittedstructure.

To simulate the inner forces that cause distortion of the knittedcomponent, the knitting system 100 may use mesh edges (in thecomputational representations of the knitted component, e.g., CAD) tocreate a grid of simulated springs which physically simulates saidforces. There are multiple ways in which the software tool may displaygeometric information, for example, in CAD or generally. As describedherein a mesh edge (e.g., polygonal/pixel modeling) may be used tocreate the grid because in the translation of the mesh edge into aspring calculation, the system may need particular size information,which may be achieved through converting the non-uniform rational basisspline (NURB) surface, which represents common mathematicalrepresentations of 3D objects, into a mesh. Generally, when an object isscanned into a CAD program, they are initially scanned using NURBS. Therespective length of each mesh edge is converted, by the knitting system100, to a spring which follows Hooke's Law of elasticity. In someinstances, this conversion may be performed by a computing device withinthe knitting system 100, such as spring engine 116. One or morecomputing devices of the knitting system 100, for example spring engine116, may simulate the springs as force objects, and the entire mesh maybe used by the knitting system 100 to visualize the overall geometry ofthe knitted component. The output of this simulation may comprise a newgeometry of the knitted component that has been deformed by the springs,relative to an intended design for the component prior to the allocationof knitted structures which may cause the deformation. In some aspectsof the present disclosure, the knitting system 100 and/or one or morecomputing devices therein (e.g., spring engine 116) may create a dynamiciterative simulation until the knitting system reaches equilibrium. FIG.5D shows a still image from the visualization of a spring-basedsimulation for the knitted component (e.g., element 550) next to animage of the knitted component (e.g., element 552) that was fabricated.As shown in FIG. 5D, this exemplary test shows a correlation between thesimulation image 550 and the deformation behavior of the knitted sample552.

C. Compensation Methods for Knitted Component Designs

By integrating a physical engine simulation into the process of knittingdesign and knitting fabrication, the knitting system 100 enables theuser to view the deformation behavior of the knitted component prior toinitiating fabrication/manufacturing of the knitting component.

In some aspects of the present disclosure a first compensation method(e.g., a “Row Duplication” method) may be utilized by the knittingsystem 100 to enable the user to control the outline shape of the fabricor knitted component. This first compensation method is based ondifferential row duplication, and in some instances, may be thepreferable method for knitted components comprising knit structures thatdiffer in height. This compensation method includes selectively choosingin which areas of the knitted component and respective knit structuresto duplicate rows in order to gain extra length, for example, in thoseareas which are found to be “shorter” in the simulation process. Themachine code (Jacquard) generated by the knitting system 100 compensatesfor the height differences by strategically duplicating rows in theshorter knit structures. As explained herein, the machine code isgenerated by the system as the final knitting instructions to be sent toone or more knitting machines. As a result, the knitting system 100 mayknit a different number of rows for different areas of knitting in onecontinuous process. This Row Duplication method may result in changes ormodifications being made by the knitting system (e.g., design computer102) to one or more Jacquard files. The Jacquard file may indicateand/or comprise a set of symbols used by the knitting machine to knowwhat to knit in every needle at every row. As described here, theknitting system may modify and initial Jacquard file according to thecompensation method, and the system may generate a new Jacquard filebased on this modification.

In other aspects of the present disclosure a second compensation method(e.g., a “Stitch Density” method) may be utilized by the knitting system100 to enable the designer or end user to control the outline shape ofthe knitted component. This second compensation method is based onautomatically creating a new information layer for dynamicallycontrolling stitch density of the knitted component. This stitch densityinformation layer information represents another occurrence of thebitmap of the knitting area with individual stitch density informationfor each and every stitch (needle action) in the design, similar to aJacquard file but with stitch density information. In some instances,the knitting machines may include an optional specific extension of theJacquard file to include the stitch density information. By varying thestitch density of the knitted component, which can be numericallycontrolled in the knitting machine, the knitting system may controlwhether loops of the yarns, which are created by the knitting needles,are tightened or released. The knitting system 100 may automaticallyproduce the initial new layer of information by duplicating the overallgeometry of the knitted component and converting this information intostitch density values. As noted above, in some instances, this new layerof information may serve as a component or an extension of the Jacquardfile. Accordingly, while the knitted component may not change itspattern/design appearance/knitted structures, the distribution oftightness within the knitted component may change. Thus, the knittingsystem 100 may produce individual stitch tightness mapping for eachstitch in the pattern without changing the stitch structure and theoverall design. In some instances, the knitting system 100 may modifythe stitch density of the knitted component only in selected areas ofthe knitted component. Additionally, alterations to the stitch densityof the knitted component may be stored, by the knitting system 100, inan additional file, similar to the Jacquard file, thereby presenting anew differential density matrix of values that define the stitch controlof the knitting machine 135.

The rest length of the knitted component may be measured by the knittingsystem automatically. In some instances, the rest length measurement maybe performed manually. Additionally or alternatively, the manuallymeasured rest length may be compared to the automatic measurement forpurposes of calibrating the automatic measurements. In some aspects ofthe present disclosure, rest length measurements may be used by theknitting system, such as by UI 115 or spring engine 116, as a parameterfor defining a spring constant. For example, the system may determinerest length measurements by sampling a plurality of knitted componentsat rest. The system may normalize these values and store them in asuitable storage area. Table 1 below provides an example list of restlength measurements for the plurality of different knitted structures(e.g., Structures 1-7) shown in FIG. 5E:

TABLE I Rest Length measurements (numbers are normalized and relative,based on sampling knitted components of singular knitted structures, atrest) Stitch Density Measured Deformation (Compensation Knitting Plan/(No Compensation) Parameters) Structure height width height widthStructure 1 1.000 1.400 1.000 1.400 Structure 2 0.950 1.425 1.017 1.458Structure 3 0.950 1.450 1.017 1.483 Structure 4 0.600 1.500 0.933 1.583Structure 5 1.000 1.250 1.000 1.250 Structure 6 1.150 1.500 0.983 1.417Structure 7 1.000 1.500 1.000 1.500

Evaluation of the various compensation methods, including the “RowDuplication” and “Stitch Density” methods, may be measured and scored bythe knitting system 100, using a mathematical model, such as thefollowing:

$\begin{matrix}{\frac{a}{W_{\max}} = {AR}} & (1)\end{matrix}$ $\begin{matrix}{{\frac{a^{\prime}}{W_{\max}^{\prime}}?} = {AR}^{\prime}} & (2)\end{matrix}$ $\begin{matrix}{\frac{AR}{{AR}^{\prime}} = {ARR}} & (3)\end{matrix}$

As shown above in Equation (1), a first aspect ratio (“AR”) may bemeasured, by the knitting system 100, by determining an initial area(“a”) of the initial knit design shape, and dividing that value by amaximum width (W_(max)) of the knitted component. After the knittingsystem 100 implements a compensation method, such as the “RowDuplication” and “Stitch Density” methods discussed above (or acombination thereof), the knitting system 100 may determine a new area(“a′”) and a new width (“W_(max)′”) of the knitted component in order tocalculate, using Equation (2), a second/updated aspect ratio of thedesign shape (“AR”). Using Equation (3), the knitting system maydetermine a quotient (i.e., “ARR” score) of the first and second aspectratios. This quotient of aspect ratios between design intent and thesimulation (ARR) will tend towards one (1) to the extent the two ratiosare identical. The knitting system may also determine the difference inarea (“ADR” score) between the initial area (“a”) and the new area(“a′”). In some instances, the knitting system may determine an ADRscore based on an area of deviation from the original knitting shape,and as such, the closer this ADR score is to zero (0), the more accuratethe compensation.

These score values measured by the knitting system are utilized toshorten or reduce the iterative process of trial and error used inconventional systems. However, these scores still allow the knittingsystem to maintain the prototyping based creative workflow when newknitting prototypes are developed. When scaled up, this knitting systemwould continue to be relevant for the modification of knittingcharacteristics by end users, as opposed to experienced designers andknitters.

Additionally or alternatively, evaluation of compensation methods, suchas the “Row Duplication” and “Stitch Density” methods, may be measuredand scored by the knitting system 100, using the following mathematicalmodel:

$\begin{matrix}{{GAR} = \frac{a}{( W_{\max} )^{2}}} & (1)\end{matrix}$

In some instances, if Equation 1 of this model results in fractionalvalues between the values of zero (0) and one (1), the system maydetermine, as shown in Equation (2) below, the reciprocal value theEquation so that all resulting values are greater than one (1).

$\begin{matrix}{{{if}( {{GAR} < 1} )}{{then}( {{GAR} = \frac{1}{GAR}} )}} & (2)\end{matrix}$

Referring back to Equation 1, the total area (a) of the initial designshape, is divided by the square of the maximum width (W_(max))(squared)and a Geometrical Ratio (GAR) is measured. In the instance where theknitted component is in the shape of a square, the GAR value may equal(1) one. For other shapes, the GAR value may reflect a numerical ratiobetween the maximal width and the average length of the shape. After theknitting system implements a compensating strategy, the new area andwidth may be determined and compared to a template/sample knittedcomponent, such as a knitted component having the shape of a perfectsquare. An additional geometrical deviation parameter may be determinedby measuring the deviation of the deformed shape from the originalshape—Area Difference Ratio (ADR)— the original and deformed shapes maybe superimposed and each of the absolute differences in area between thetwo may be summed and normalized by the knitting system:

$\begin{matrix}{{ADR} = \frac{\sum{❘{{dif}( {a - a^{\prime}} )}❘}}{A}} & (3)\end{matrix}$

As shown in Equation 3 (above), the dif(a−a′) is the area differenceagainst each of the original square edges and A is the original squarearea. Accordingly, an ADR score closer to (0) zero means that the shapes(e.g., the original shape and the shape of the knitted design that hashad a compensation strategy applied thereto) resemble each other better,thus the compensation method is more accurate. Using these scores allowfor shortening the iterative process of trial and error, yet maintainingthe prototyping-based creative workflow and the overall approach towardsresearch and development when new knitting prototypes are developed.

FIG. 6A illustrates the different compensation methods utilized by theknitting system 100 to predict deformation behavior of knittedcomponents prior to fabrication. For example desired knit pattern 602represents a particular knit design to be fabricated by the knittingsystem 100. One or more computing devices of the knitting system 100,such as design computer 102, may determine evaluation scores (e.g., ADRand ARR scores) for one or more of the compensation methods performed inaccordance with the knit pattern 602, as well as evaluation scores forthe knit design without a compensation method being applied thereto.Additionally or alternatively, the design computer 102 may determineevaluation scores for the knit design 602 based on a combination ofcompensation methods.

As shown in FIG. 6A, element 604 shows modified knit designs thatvisually indicate the predicted deformation behavior of a knittedcomponent prior to fabrication, while element 606 shows images of thecorresponding knitted component that was actually manufactured by theknitting machine based on the applied compensation method. Thedeformation is determined based on allocating specific knit structuresto the various portions of the knit pattern. In each portion of the knitpattern, a different knit structure is allocated, such that upon removalfrom the knitting machine and after some relaxation time it deforms intodifferent sizes. For example, element 604A shows an image of theoriginal knit design 602 that includes predicted areas of deformation(in red and yellow) and evaluation score values (e.g., ADR and ARR), asdetermined by the knitting system, without a compensation method beingapplied. As shown in FIGS. 6A-6E, the predicted areas of deformation maybe color-coded (e.g. red and yellow). In the examples shown in FIGS.6A-6E, the color yellow may indicate an area in the original (intended)design that is not present in the simulation, or in other words,shrinkage of the knitted component. Likewise, in these examples, thecolor red may indicate an area in the simulation that is not present inthe intended design. Element 606A shows the resulting knitted componentthat was manufactured by a knitting machine, and as can be seen in FIG.6A, the deformation behavior of the manufactured knitting component isconsistent with the behavior predicted by the knitting system. Asanother example, element 604B shows an image of the original knit design602 that includes predicted areas of deformation (in red and yellow) andevaluation score values (e.g., ADR and ARR), as determined by theknitting system, using a “Row Duplication” compensation method. Element606B shows the resulting knitted component that was manufactured by aknitting machine, and as can be seen in FIG. 6A, the deformationbehavior of the manufactured knitting component is consistent with thebehavior predicted by the knitting system.

Referring now to the example in FIG. 6D, element 605A shows an image ofthe original knit design 602 that includes predicted areas ofdeformation (in red and yellow) and evaluation score values (e.g., ADRand GAR), as determined by the knitting system, without a compensationmethod being applied. Element 606A shows the resulting knitted componentthat was manufactured by a knitting machine, and as can be seen in FIG.6D, the deformation behavior of the manufactured knitting component isconsistent with the behavior predicted by the knitting system. Asanother example, element 605B shows an image of the original knit design602 that includes predicted areas of deformation (in red and yellow) andevaluation score values (e.g., ADR and GAR), as determined by theknitting system, using a “Row Duplication” compensation method. Element606B shows the resulting knitted component that was manufactured by aknitting machine, and as can be seen in FIG. 6D, the deformationbehavior of the manufactured knitting component is consistent with thebehavior predicted by the knitting system.

As yet another example, as shown in FIG. 6A, element 604C shows an imageof the original knit design 602 that includes predicted areas ofdeformation (in red and yellow) and evaluation score values (e.g., ADRand ARR), as determined by the knitting system, using a “Stitch Density”compensation method. Element 606C shows the resulting knitted componentthat was manufactured by a knitting machine using the said stitchdensity compensation, and as can be seen in FIG. 6A, the deformationbehavior of the manufactured knitting component is consistent with thebehavior predicted by the knitting system. As still another example,element 604D shows an image of the original knit design 602 thatincludes predicted areas of deformation (in red and yellow) andevaluation score values (e.g., ADR and ARR), as determined by theknitting system, using a combination of the Row Duplication and StitchDensity compensation methods. Element 604D shows the resulting knittedcomponent that was manufactured by a knitting machine, and as can beseen in FIG. 6A, the deformation behavior of the manufactured knittingcomponent is consistent with the behavior predicted by the knittingsystem.

FIGS. 6B and 6C illustrate additional examples of the differentcompensation methods utilized by the knitting system 100 to predictdeformation behavior of knitted components having different knit designs(e.g., knit designs 612 and 622).

FIGS. 6E and 6F illustrate additional examples of the differentcompensation methods utilized by the knitting system 100 to predictdeformation behavior of knitted components having different knit designs(e.g., knit designs 612 and 622).

One or more computing devices of the knitting system 100 may beconfigured to generate new knitted patterns. For example, consumerdevice 102 (or a computational tool executed therein—design tool 333)may be configured to generate a new knitted patterns. The knittingsystem 100 may generate a new knitted pattern by (i) identifying knittedstructures within a knitted component (or knit design), (ii) “breakingdown” these knitted structures into small repeatable assemblies, and(iii) recombining these fragmented parts (or sub-blocks) into new andpotentially unpredictable knitted structures/patterns. This approach forgenerating new knitted structures/patterns is similar to the process,explained above, for refining or improving the resolution of a knitdesign pattern by making them more responsive in terms of knittedstructure distribution and design potential. By creating additional waysin which the knitting system 100 may dissect/decompose knittedstructures into the smallest repetitive pattern of the highestresolution also includes developing a model for a smooth transitionbetween different structures using different structure characteristicssuch as transparency, density and texture.

Importantly, an objective of the present knitting system is to enableengagement with the end user(s) who will be able to participate in theknit design process in a smooth and automated manner. In some aspects ofthe present disclosure, the knitting system 100 may use the process ofgenerative pattern-making, described herein, to create knits that arederived from various types of input data, such as real user-based data.For example, the knitting system 100 may generate sensor-driven knittinginformation to fabricate knitted components. Other types of information,such as data provided by end users reflecting their preferences anddemand for better performance, may also be utilized during the knittingprocess described above.

FIG. 7 illustrates an example interface for modifying a knit design inaccordance with one or more aspects of the present disclosure. Userinterface 700 includes a knitting machine image 735, a palette of colorreferences 710, one or more color vectors (e.g., vector 715), portionsof the interface representing knit structures (e.g., knit structure720), and a display portion 701 illustrating renderings of the knitdesign. User interface 700 may display animations illustrating thevarious design choices and selections made by a user during the designprocess. As will be appreciated, the components of user interface 700may include the same or similar features and functions of correspondingcomponents provided by the user interface 115.

As another example, knit structure 720 may include the same or similarfeatures and/or compositions as the knit structures described herein.For instance, while not shown in FIG. 7 , knit structure 720 may include(or display) information associated with the knit structure, such as theunderlying knit composition or recurring blocks that comprise the knitstructure. In some instances, a user may draw a color vector 715 in userinterface 700 to associate (or assign) a particular color value (e.g.,yarn/material color) to a particular knit structure. After the colorvector has been drawn or modified, user interface 700 may graphicallyillustrate a material (such as yarn from the one or more spoolsassociated with the selected color value) being arranged in one or moreportions of knitting machine image 735, as illustrated by element 736.

Knitting machine image 735 in user interface 700 may serve as a graphicrepresentation of a knitting machine (e.g., knitting machine 135) usedto manufacture knit products (e.g., a knit footwear upper). Material,such as material 130, used by the knitting machine 135 to manufacture aknit product 140 may be graphically represented in knitting machineimage 735. For example, as illustrated by element 710, each color orcolor reference selected by a user may be graphically represented by oneor more spools of yarn (or some other material) in knitting machineimage 735.

As the user selects and/or modifies various design choices, thesechoices may be reflected (e.g., graphically represented or simulated) inreal-time via the knitting machine image 735 or other portions ofinterface 700. For example, changes made to the color value of colorreference 710 may be reflected in knitting machine image 735 by changingthe color of one or more spools of yarn to correspond to the new colorvalue. As another example, the number of colors that may be used for aparticular design may be graphically represented by the number of spoolsin knitting machine image 735. In this example, an empty spool mayrepresent an undefined or available color reference that may be added tothe color palette.

As will be appreciated, the user's design choices may be limited basedon limitations associated with the knit design, such as availability ofmaterials, structural rules, and physical limitations of a knittingmachine. For example, due to limitations in the supply of certainmaterials used to manufacture a knit product, a user may be providedwith a limited number of color choices that correspond to theavailability or supply of those materials (e.g., yarn). Thus, when userselects color reference 711, the user may be provided with a listing ofcolor options that correspond to the materials that are currently insupply. As another example, due to the structural or physicallimitations of a knitting machine, a user may be limited in the numberof color options that may be assigned to a particular knit structure.For instance, if a knitting machine, such as knitting machine 135, has apredetermined number of “feeders,” a user may be limited to the numberof color combinations or the number of colors that may be assigned toknit structures based on the number of feeders in the knit machine.

FIG. 8 illustrates a method of designing and manufacturing a knittedcomponent, in accordance with one or more aspects of the presentdisclosure. The steps identified in FIG. 8 may be performed with asystem such as the knitting system 100 shown in FIG. 1 .

First, in step 802, the knitting system obtains knit structureinformation. The system may obtain the knit structure information fromone or more computing devices and/or a suitable storage area, such aslibrary 117. Additionally or alternatively, the knitting system mayobtain a portion (or all) of the knit structure information by analyzingone or more knit samples/components.

In step 804, the knitting system obtains design input data. The systemmay use the design input data to manufacture a knitted component havinga graphic design corresponding to an image associated with the obtaineddesign input data. The input data may comprise a data file, such as araster image. The input data may identify various visual and physicalattributes (e.g., features) associated with a knit design. In someembodiments, a user may select a knit design from a plurality of knitdesigns stored by the system.

Next, in step 806, the knitting system samples the design input data,for example, the input data obtained during step 804. The knittingsystem may use a user interface, such as UI 115, to sample the inputdata. The user interface may include and/or obtain from one or moreother computing devices of the knitting system allocation logic,allowing the user to flexibly control the design of the knittedcomponent, and in step 808, the knitting system may allocate knittedstructures for the knitted component to be manufactured. At step 808,the knitting system uses input provided by the end user/designer toallocate the knitted structures. In some embodiments, the system maydistribute different knitted structures for the knitted component withrelation to a particular data input or file, such as the input dataobtained during step 804. The distribution of knitted structures may beperformed based on sampling of grayscale tones and/or other input dataat step 806.

At step 810, the knitting system evaluates differences between the knitdesign and a predicted/determined knitted component. As describedherein, the system may implement a physical simulation of an estimateddeformation of the knitted component, which allows the system todynamically add compensations, based on different methods, to achieve abetter prediction for the final knitted outcome and physical output ofthe knitting machine, e.g., one in which the outline of the output moreclosely resembles the outline according to the original knit design, ascompared with the intended design. The knitting system may evaluatedifferences between the knit design and a predicted/determined knittedcomponent based on the allocated knitted structures. At step 810, thesystem may simulate, based on a physical spring-based compensationanalysis, the deformation of the knitted component under a restingcondition. The knitting system may automatically determineredistribution forces in the knitted component/fabric to compensate forthe physical deformation. The knitting system may comprise a dynamicsystem that simulates forces between elements and deforms those elementsaccordingly. After the initial deformation is calculated, furthercalculations may be performed to determine new deformations until anequilibrium is achieved. At step 810, the system may evaluate thedetermined differences using one or more evaluation scores.

At step 812, the knitting system generates and/or outputs machine codeand/or data files for operating a knitting machine. In some aspects ofthe present disclosure, the knitting system may include a compiler, suchas the compiler 108, for generating and/or outputting machine codeand/or data files to the knitting machine 135.

At step 812, the system may utilize a file generator (e.g., filegenerator 342) to generate a data file, such as a Sintral file, forcontrolling the knitting machine. The knitting system may generate thedata file based on various input, such as a Jacquard file, length andwidth dimensions of the initial knitted component, unified structuredimensions, and knitting machine parameters. At step 814, the knittingsystem may manufacture or fabricate the knitted component. The one ormore knitting machines of the knitting system may manufacture/fabricatethe knitted component based on instructions or machine code outputgenerated at step 812.

While the present disclosure has been described with respect to specificexamples including presently preferred modes of carrying out aspects ofthe present disclosure, those skilled in the art will appreciate thatnumerous variations and permutations of the above described systems andtechniques may be made without departing from the present disclosure.For example, the systems, methods, and/or user interfaces may includemore, less, and/or different functionality from that described above,and the various features of the systems, methods, and/or user interfacesmay be activated or interacted with in various different manners (e.g.,using different types of interface elements) from those described above.Also the various process steps may be changed, changed in order, someomitted, and/or include additional steps or features without departingfrom the present disclosure. Various changes and modifications to thesystems, methods, and user interfaces may be made without departing fromthe spirit and scope of the present disclosure, as set forth in theappended claims.

Hereinafter, various characteristics will be highlighted in a set ofnumbered clauses or paragraphs. These characteristics are not to beinterpreted as being limiting on the invention or inventive concept, butare provided merely as a highlighting of some characteristics asdescribed herein, without suggesting a particular order of importance orrelevancy of such characteristics.

Clause 1: A method, comprising: obtaining, by a computing device, afirst set of knit structure information; obtaining, by the computingdevice, design input data; allocating, based on the design input dataand the knit structure information, one or more knitted structures to aknit design; generating, by the computing device and based on the knitdesign, one or more output files indicating a plurality of knittinginstructions; and sending the one or more output files to a knittingmachine for manufacturing a knitted component.

Clause 2: The method of clause 1, wherein the design input datacomprises a raster image.

Clause 3: The method of clause 1 or 2, wherein the design input datacomprises at least one of a set of visual attributes and a set ofphysical attributes associated with the knit design.

Clause 4: The method of any preceding clause, further comprising:sampling, by the computing device, a plurality of grayscale imagesassociated with the design input data.

Clause 5: The method of any preceding clause, wherein the allocation ofthe one or more knitted structures to the knit design is based on agrayscale tone level associated with the design input data.

Clause 6: The method of any preceding clause, wherein the allocating theone or more knitted structures further comprises: receiving, via a userinterface, user input selections for allocating the one or more knittedstructures.

Clause 7: The method of any preceding clause, further comprising:determining, by the computing device and based on an intended knitdesign, a deformation of the knitted component corresponding to the knitdesign.

Clause 8: The method of clause 7, further comprising: displaying, by thecomputing device, the deformation of the knitted component; determining,by the computing device and based on one or more compensation routines,a plurality of predicted compensation results corresponding to the knitdesign; and applying one or more redistribution forces in the knittedcomponent, based on the predicted compensation results, to compensatefor the determined deformation.

Clause 9: The method of any preceding clause, further comprising:generating, by the computing device and based on the knit design, amatrix data structure indicating a plurality of knitting instructionsfor a knitting machine.

Clause 10: A non-transitory machine readable medium storing instructionsthat, when executed, cause a computing device to: obtain a first set ofknit structure information; obtain design input data; allocate, based onthe design input data and the knit structure information, one or moreknitted structures to a knit design; generate, based on the knit design,one or more output files indicating a plurality of knittinginstructions; and send the one or more output files to a knittingmachine for manufacturing a knitted component.

Clause 11: The non-transitory machine readable medium of clause 11,wherein the design input data comprises a raster image.

Clause 12: The non-transitory machine readable medium of clause 10 or11, wherein the design input data comprises at least one of a set ofvisual attributes or a set of physical attributes associated with theknit design.

Clause 13: The non-transitory machine readable medium of any of clauses10 to 12, wherein the allocation of the one or more knitted structuresin the knit design corresponds to a grayscale tone level associated withthe design input data.

Clause 14: The non-transitory machine readable medium of any of clauses10 to 13, wherein the instructions, when executed, further cause thecomputing device to: determine a deformation of the knitted componentcorresponding to the knit design.

Clause 15: The non-transitory machine readable medium of claim 14,wherein the instructions, when executed, further cause the computingdevice to: display the deformation of the knitted component; determine,based on one or more compensation routines, a plurality of predictedcompensation results corresponding to the knit design; and apply one ormore redistribution forces in the knitted component, based on thepredicted compensation results, to compensate for the determineddeformation.

Clause 16: The non-transitory machine readable medium of any of clauses10-15, wherein the instructions, when executed, further cause thecomputing device to: generate, based on the knit design, a matrix datastructure indicating a plurality of knitting instructions for a knittingmachine.

Clause 17: An apparatus comprising: one or more processors; and memorystoring instructions that, when executed, cause the apparatus to: obtaina first set of knit structure information; obtain design input data;allocate, based on the design input data and the knit structureinformation, one or more knitted structures to a knit design; generate,based on the knit design, one or more output files indicating aplurality of knitting instructions; and send the one or more outputfiles to a knitting machine for manufacturing a knitted component.

Clause 18: The apparatus of clause 17, wherein the instructions, whenexecuted, further cause the apparatus to: determine a deformation of theknitted component corresponding to the knit design.

Clause 19: The apparatus of clause 18, wherein the instructions, whenexecuted, further cause the apparatus to: display the deformation of theknitted component; determine, based on one or more compensationroutines, a plurality of predicted compensation results corresponding tothe knit design; and apply one or more redistribution forces in theknitted component, based on the predicted compensation results, tocompensate for the determined deformation.

Clause 20: The apparatus of any of clauses 17 to 19, wherein theinstructions, when executed, further cause the apparatus to: generate,based on the knit design, a matrix data structure indicating a pluralityof knitting instructions for a knitting machine.

1. A method, comprising: modifying, by a computing device, a knit designto compensate for a deformation associated with the knit design, whereinthe modifying comprises duplicating one or more portions of a knitstructure of the knit design; and sending, to a knitting machine,knitting instructions associated with the modified knit design.
 2. Themethod of claim 1, further comprising: receiving, by the computingdevice, design input data indicating at least one of a set of visualattributes and a set of physical attributes associated with the knitdesign.
 3. The method of claim 1, further comprising: obtaining, from adatabase storing a plurality of knit structures, the knit structure ofthe plurality of knit structures.
 4. The method of claim 1, furthercomprising: determining, by the computing device, an allocation of oneor more knit structures of the knit design.
 5. The method of claim 4,wherein determining the allocation of the one or more knit structuresfurther comprises: generating, by the computing device, a data structureindicating the knitting instructions for the knitting machine; anddistributing, to the data structure, a plurality of rubrics associatedwith the one or more knit structures.
 6. The method of claim 1, whereinmodifying the knit design further comprises: determining, based on oneor more compensation routines, a plurality of predicted compensationresults corresponding to the knit design; and determining, based onscores associated with the plurality of predicted compensation results,a compensation routine, of the one or more compensation routines, tocompensate for the deformation.
 7. The method of claim 1, furthercomprising: determining first aspect ratios associated with one or morefirst knit structures of the knit design; determining, via one or morecompensation routines, one or more second knit structures of the knitdesign; and determining scores for the one or more first knitstructures, based on a comparison of the first aspect ratios and secondaspect ratios, wherein the second aspect ratios are associated with theone or more second knit structures.
 8. The method of claim 1, furthercomprising: predicting, based on one or more knit structures associatedwith the knit design, a deformation behavior of a first knit structureof the one or more knit structures.
 9. The method of claim 1, whereinthe modifying the knit design further comprises adjusting a stitchdensity associated with one or more knit structures of the knit design.10. An apparatus comprising: one or more processors; and memory storinginstructions that, when executed, cause the apparatus to: modify a knitdesign to compensate for a deformation associated with the knit design,wherein the modifying comprises duplicating one or more portions of aknit structure of the knit design; and send, to a knitting machine,knitting instructions associated with the modified knit design.
 11. Theapparatus of claim 10, wherein the instructions, when executed, furthercause the apparatus to: obtain, from a database storing a plurality ofknit structures, the knit structure of the plurality of knit structures.12. The apparatus of claim 10, wherein the instructions, when executed,further cause the apparatus to determine an allocation of one or moreknit structures of the knit design by: generating a data structureindicating the knitting instructions for the knitting machine; anddistributing, to the data structure, a plurality of rubrics associatedwith the one or more knit structures.
 13. The apparatus of claim 10,wherein the instructions, when executed, further cause the apparatus to:receive design input data indicating at least one of a set of visualattributes and a set of physical attributes associated with the knitdesign.
 14. The apparatus of claim 10, wherein the instructions, whenexecuted, further cause the apparatus to: predict, based on one or moreknit structures associated with the knit design, a deformation behaviorof a first knit structure of the one or more knit structures.
 15. Theapparatus of claim 10, wherein the instructions, when executed, furthercause the apparatus to modify the knit design by: adjusting a stitchdensity associated with one or more knit structures of the knit design.16. A non-transitory machine readable medium storing instructions that,when executed, cause a computing device to: modify a knit design tocompensate for a deformation associated with the knit design, whereinthe modifying comprises duplicating one or more portions of a knitstructure of the knit design; and send, to a knitting machine, knittinginstructions associated with the modified knit design.
 17. Thenon-transitory machine readable medium of claim 16, wherein theinstructions, when executed, further cause the computing device to:determine an allocation of the one or more knit structures of the knitdesign.
 18. The non-transitory machine readable medium of claim 16,wherein the instructions, when executed, further cause the computingdevice to: predict, based on one or more knit structures associated withthe knit design, a deformation behavior of a first knit structure of theone or more knit structures.
 19. The non-transitory machine readablemedium of claim 16, wherein the instructions, when executed, furthercause the computing device to: obtain, from a database storing aplurality of knit structures, the knit structure of the plurality ofknit structures.
 20. The non-transitory machine readable medium of claim16, wherein the instructions, when executed, further cause the computingdevice to modify the knit design by: adjusting a stitch densityassociated with the one or more knit structures of the knit design.